1. Field of the Invention
The present invention relates generally to speech coding. More particularly, the present invention relates to reduce effects of noise producing artifacts in a voice codec.
2. Background Art
Speech compression may be used to reduce the number of bits that represent the speech signal thereby reducing the bandwidth needed for transmission. However, speech compression may result in degradation of the quality of decompressed speech. In general, a higher bit rate will result in higher quality, while a lower bit rate will result in lower quality. However, modern speech compression techniques, such as coding techniques, can produce decompressed speech of relatively high quality at relatively low bit rates. In general, modern coding techniques attempt to represent the perceptually important features of the speech signal, without preserving the actual speech waveform. Speech compression systems, commonly called codecs, include an encoder and a decoder and may be used to reduce the bit rate of digital speech signals. Numerous algorithms have been developed for speech codecs that reduce the number of bits required to digitally encode the original speech while attempting to maintain high quality reconstructed speech.
FIG. 1 illustrates conventional speech decoding system 100, which includes excitation decoder 110, synthesis filter 120 and post-processor 130. As shown, decoding system 100 receives encoded speech bitstream 102 over a communication medium (not shown) from an encoder, where decoding system 100 may be part of a mobile communication device, a base station or other wireless or wireline communication device that is capable of receiving encoded speech bitstream 102. Decoding system 100 operates to decode encoded speech bitstream 102 and generate speech signal 132 in the form of a digital signal. Speech signal 132 may then be converted to an analog signal by a digital-to-analog converter (not shown). The analog output of the digital-to-analog converter may be received by a receiver (not shown) that may be a human ear, a magnetic tape recorder, or any other device capable of receiving an analog signal. Alternatively, a digital recording device, a speech recognition device, or any other device capable of receiving a digital signal may receive speech signal 132.
Excitation decoder 110 decodes encoded speech bitstream 102 according to the coding algorithm and bit rate of encoded speech bitstream 102, and generates decoded excitation 112. Synthesis filter 120 may be a short-term prediction filter that generates synthesized speech 122 based on decoded excitation 112. Post-processor 130 may include filtering, signal enhancement, noise reduction, amplification, tilt correction and other similar techniques capable of improving the perceptual quality of synthesized speech 122. Post-processor 130 may decrease the audible noise without noticeably degrading synthesized speech 122. Decreasing the audible noise may be accomplished by emphasizing the formant structure of synthesized speech 122 or by suppressing the noise in the frequency regions that are perceptually not relevant for synthesized speech 122.
In variable-rate speech coders, perceptually important parts of speech (e.g., voiced speech, plosives, or voiced onsets) are coded with a higher number of bits, and less important parts of speech (e.g., unvoiced parts or silence between words) are coded with a lower number of bits. Noise suppression improves the quality of the reconstructed voice signal and helps variable-rate speech coders distinguish voice parts from noise parts. Noise suppression also helps low bit-rate speech encoders produce higher quality output by improving the perceptual speech quality. Typically, noise suppression techniques remove noise by spectral subtraction methods in the frequency domain. A voice activity detector (VAD) determines in the time-domain whether a frame of the signal includes speech or noise. The noise frames are analyzed in the frequency-domain to determine characteristics of the noise signal. From these characteristics, the spectra from noise frames are subtracted from the spectra of the speech frames, providing a clean speech signal in the speech frames.
Also, time-domain noise attenuation may be applied to improve the quality of a speech signal. For example, in a speech coding system with time-domain noise attenuation, described in U.S. application Ser. No. 09/782,791, filed Feb. 13, 2001, which is hereby incorporated by reference in its entirety, the gains from linear prediction speech coding are adjusted by a gain factor to suppress background noise. As described therein, the speech coding system uses frequency-domain noise suppression along with time-domain voice attenuation to further reduce the background noise. After an analog signal is converted into a digitized signal, a preprocessor suppresses noise in the digitized signal using a VAD and frequency-domain noise suppression. When the VAD identifies a frame associated with only noise (no speech), a windowed frame including the identified frame of about 10 ms is transformed into the frequency domain. Spectral magnitudes of the noisy speech signal are then modified to reduce the noise level according to an estimated SNR, and the modified spectral magnitudes are combined with the unmodified spectral phases. The modified spectrum is then transformed back to the time-domain. An analysis-by-synthesis scheme chooses the best representation for several parameters such as an adjusted fixed-codebook gain, a fixed codebook index, a lag parameter, and the adjusted gain parameter of the long-term predictor. The gains may be adjusted by a gain factor prior to quantization. The gain factor Gf may suppress the background noise in the time domain while maintaining the speech signal, where Gf is defined by Gf=1−C.NSR, where NSR is the frame-based noise-to-signal ratio, and C is a constant in the range of 0 through 1 and controls the degree of noise reduction. NSR has a value of about 1 when only background noise is detected in the frame, and when speech is detected in the frame, NSR is the square root of the background noise energy divided by the signal energy in the frame.
However, the existing approaches do not properly address reducing effects of noise producing artifacts in the silence areas of a speech signal, and especially when a VAD is not available. In silence areas, sample values are quite small and their quantization errors are relatively very large. The effects of these errors are further exacerbated by the fixed-point implementation of a speech coding algorithm with its accuracy limited by use of integer values, which results in the relative quantization errors of the silence areas to become much larger, which causes a higher output energy compared to the original silence input energy, and more audible noise.
Accordingly, there is an intense need in the art for low-complexity speech coding methods and systems that can effectively reduce effects of artifacts in a speech signal, and especially in silence areas of the speech signal and/or without utilizing a VAD.